Skip to content

Do not hold the deletes for a refusal that happened earlier - #833

Merged
SimonCropp merged 1 commit into
mainfrom
fix-stale-refusal-holds-deletes
Aug 23, 2026
Merged

Do not hold the deletes for a refusal that happened earlier#833
SimonCropp merged 1 commit into
mainfrom
fix-stale-refusal-holds-deletes

Conversation

@SimonCropp

Copy link
Copy Markdown
Member

A sweep holds its pending deletes when a patch in the batch could not be written,
because a snapshot moving inline is two unrelated entries and running the delete
without the patch loses both copies of it. Which batch, though, was read off the
entries: any inline entry carrying a status counted.

A bulk accept skips conflicted entries and hands them back exactly as they were, so
a status on one of those was left by a targeted accept of a single variant, at some
earlier point. It stayed there for as long as the conflict did, and every accept-all
after it held every pending delete, citing a refusal in a batch that never touched
the entry - and the way out of that was to resolve a conflict that had nothing to do
with the files being held.

Conflicted entries are no longer read for it. Everything else left in the queue with
a status was tried by this sweep and refused by it, which is what the read is for.

A sweep holds its pending deletes when a patch in the batch could not be written,
because a snapshot moving inline is two unrelated entries and running the delete
without the patch loses both copies of it. Which batch, though, was read off the
entries: any inline entry carrying a status counted.

A bulk accept skips conflicted entries and hands them back exactly as they were, so
a status on one of those was left by a targeted accept of a single variant, at some
earlier point. It stayed there for as long as the conflict did, and every accept-all
after it held every pending delete, citing a refusal in a batch that never touched
the entry - and the way out of that was to resolve a conflict that had nothing to do
with the files being held.

Conflicted entries are no longer read for it. Everything else left in the queue with
a status was tried by this sweep and refused by it, which is what the read is for.
@SimonCropp
SimonCropp merged commit b5163f2 into main Aug 23, 2026
9 checks passed
@SimonCropp
SimonCropp deleted the fix-stale-refusal-holds-deletes branch August 23, 2026 07:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant